﻿using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 林业信息工程
{
    class Encoder
    {
        public static Bitmap code(string msg)
        {
            //QRCoder码重要的三个类QRCodeGenerator  QRCodeData  QRCode
            //QRCodeGenerator ：用来通过指定的方式生成二维码存储的数据对象，也就是 QRCodeData 二维码中间的 Matrix，之后 QRCode 得到 QRCodeData 并生成二维码
     
            QRCoder.QRCodeGenerator code_generator = new QRCoder.QRCodeGenerator();
            QRCoder.QRCodeData code_data = code_generator.CreateQrCode(msg, QRCoder.QRCodeGenerator.ECCLevel.L/* 这里设置容错率的一个级别 */);
            QRCoder.QRCode code = new QRCoder.QRCode(code_data);
            
           
            Bitmap bmp = code.GetGraphic(5, Color.Black, Color.White, null, 0, 0, true);
            /*
             public Bitmap GetGraphic(int pixelsPerModule, Color darkColor, Color lightColor, Bitmap icon = null, int iconSizePercent = 15, int iconBorderWidth = 6, bool drawQuietZones = true)
                 int pixelsPerModule:生成二维码图片的像素大小 ，我这里设置的是5 
                 Color darkColor：暗色   一般设置为Color.Black 黑色
                 Color lightColor:亮色   一般设置为Color.White  白色
                 Bitmap icon :二维码 水印图标 例如：Bitmap icon = new Bitmap(context.Server.MapPath("~/images/zs.png")); 默认为NULL
                 加上这个二维码中间会显示一个图标

                 int iconSizePercent： 水印图标的大小比例 ，可根据自己的喜好设置  
                 int iconBorderWidth： 水印图标的边框
                 bool drawQuietZones:静止区，位于二维码某一边的空白边界,用来阻止读者获取与正在浏览的二维码无关的信息
                 即是否绘画二维码的空白边框区域 默认为true
            */
            
            return bmp;

        }
    }
}
